#ifndef _PAGE_RANKING_H
#define _PAGE_RANKING_H

#include <string>
#include <tr1/memory>

namespace jsearch
{

	struct prio_page;
	class page_vector;
	class query_vector;

	class page_ranking
	{
		public:
			page_ranking( std::tr1::shared_ptr<page_vector>& pv,
					      std::tr1::shared_ptr<query_vector>& qv );

			bool  ranking();
			std::vector<prio_page> get_prio_pages();

		private:
			struct Impl;
			std::tr1::shared_ptr<Impl> pimpl;
	};


	struct prio_page
	{
		prio_page(int id=0,double sim=0.0)
			:page_id(id),similarity(sim)
		{ }

		int page_id;
		double similarity; 
	};

}

#endif
